package com.neouton.crm.paymentPlan.service;


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.neouton.common.util.PageUtil;
import com.neouton.crm.paymentPlan.entity.PaymentPlan;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
* @author Mose
* @description 针对表【payment_plan(付款计划)】的数据库操作Service
* @createDate 2023-01-12 16:25:52
*/
public interface PaymentPlanService {


    List<PaymentPlan> getPayPlanList(PaymentPlan entity);

    void  savePayPlan(List<PaymentPlan> paymentPlans);

    void updatePayPlanById(PaymentPlan entity);

    PaymentPlan queryPaymentPlanByPurchaseOrderID(PaymentPlan paymentPlan);

    List<PaymentPlan> getPaymentPlanByPurchaseOrderID(PaymentPlan paymentPlan);

    /**
     * 分页查询
     *
     * @param page
     * @param entity
     * @return
     */
    PageUtil<PaymentPlan> queryPaymentPlansByPage(IPage page, PaymentPlan entity, String token);

    /**
     * 回款计划列表导出
     *
     * @param response
     */
    void exportPaymentPlans(HttpServletResponse response, PaymentPlan entit, String token) throws Exception;

    List<PaymentPlan> queryPayPlanByPidAndPlanPeriod(PaymentPlan paymentPlan);

    void updatePayPlansByIdAndPlanPeriod(List<PaymentPlan> paymentPlans);

    List<PaymentPlan> queryPayPlanBackByPidAndPlanPeriod(PaymentPlan paymentPlan);
}
